#ifndef S60REMOTE_H
#define S60REMOTE_H
#include <QObject>
#include <remconinterfaceselector.h>        // RemConInterfaceBase.lib
#include <remconcoreapitargetobserver.h>    // link against RemConCoreApi.lib
#include <remconcoreapitarget.h>            // and

/** A Qt wrapper that emits signals in response to S60 media keys on Symbian^3.
    Based on http://wiki.forum.nokia.com/index.php/TSS000432_-_Utilising_media_keys
*/
class S60Remote : public QObject,
    private MRemConCoreApiTargetObserver {
    Q_OBJECT
public:
    explicit S60Remote(QObject* parent=0);
    ~S60Remote();
signals:
    void volumeUp();
    void volumeDown();
    void playPause();
    void stop();
    void fastForwardPressed();
    void fastForwardReleased();
    void rewindPressed();
    void rewindReleased();
    void next();
    void previous();
private:
    // From MRemConCoreApiTargetObserver
    void MrccatoCommand(TRemConCoreApiOperationId aOperationId,
                         TRemConCoreApiButtonAction aButtonAct); 
    CRemConInterfaceSelector* m_interfaceSelector;
    CRemConCoreApiTarget*     m_coreTarget;
};

#endif // S60REMOTE_H
